package com.alibaba.dubbo.common;

import java.util.Map;


/**
 * 
 * @author kingbo.ruan
 * @time 2014年9月25日 上午10:05:59
 */
public interface HeaderProvider2 extends HeaderProvider {
 
	/**
     * get Header by key.
     * 
     * @serial
     * @return Header value.
     */
	String getHeader(String key);
	/**
	 * contains the key?
	 * @param key
	 * @return
	 */
	boolean containsHeader(String key);
	
	/**
	 * set header value
	 * @param key
	 * @param value
	 */
	void setHeader(String key, String value);
	
	/**
     * get Header by key with default value.
     * 
     * @serial
     * @return Header value.
     */
	String getHeader(String key, String defaultValue);
	
	/**
	 * remove Header by key
	 * @param key
	 */
	String removeHeader(String key);
	
	/**
	 * remove all Header
	 */
	void removeHeaders();
}
